package net.adetech.utils.spring;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体接口（系统字段自动保存需使用）
 *
 * @author sunfeihu
 */
public interface IEntity extends Serializable {

    /**
     * 获取添加时间
     *
     * @return
     */
    Date getAddDate();

    /**
     * 设置添加时间
     *
     * @param date 当前时间
     */
    void setAddDate(Date date);

    /**
     * 获取添加IP
     *
     * @return
     */
    String getAddIp();

    /**
     * 设置添加IP
     *
     * @param addIp 添加IP
     */
    void setAddIp(String addIp);

    /**
     * 获取添加用户
     *
     * @return
     */
    String getAddUser();

    /**
     * 设置添加用户
     *
     * @param addUser 添加用户
     */
    void setAddUser(String addUser);

    /**
     * 获取修改时间
     *
     * @return
     */
    Date getUpdateDate();

    /**
     * 设置修改时间
     *
     * @param date 当前时间
     */
    void setUpdateDate(Date date);

    /**
     * 获取修改IP
     *
     * @return
     */
    String getUpdateIp();

    /**
     * 设置修改IP
     *
     * @param updateIp
     */
    void setUpdateIp(String updateIp);

    /**
     * 获取修改人
     *
     * @return
     */
    String getUpdateUser();

    /**
     * 设置修改人
     *
     * @param updateUser 修改用户
     */
    void setUpdateUser(String updateUser);

    /**
     * 获取唯一标识
     *
     * @return
     */
    String getUuid();

    /**
     * 设置唯一标识
     *
     * @param uuid 唯一标识
     */
    void setUuid(String uuid);

    /**
     * 获取主键ID
     *
     * @return
     */
    Long getId();

    /**
     * 设置主键ID
     *
     * @param id 主键ID
     */
    void setId(Long id);

    Boolean getIsDelete();

    void setIsDelete(Boolean isDelete);

}